/**
    Copyright (C) 2012 Guido Ludwig

    This file is part of JATT.
	http://code.google.com/p/jatt/

    JATT is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package de.guidoludwig.jatt.util;

import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.UUID;

public class JATTUtil {

	private JATTUtil() {
		// NO
	}

	public static boolean copyFile(File input, File output, boolean overwrite)
			throws IOException {
		Path inPath = FileSystems.getDefault().getPath(input.getAbsolutePath());
		if (output.exists() && !overwrite) {
			return false;
		}
		Path outPath = FileSystems.getDefault().getPath(
				output.getAbsolutePath());
		Files.copy(inPath, outPath, StandardCopyOption.REPLACE_EXISTING);
		return true;
	}

	public static File createTempDirectory() throws IOException {
		final File temp;
		temp = File.createTempFile("temp", UUID.randomUUID().toString());
		if (!(temp.delete())) {
			throw new IOException("Could not delete temp file: "
					+ temp.getAbsolutePath());
		}
		if (!(temp.mkdir())) {
			throw new IOException("Could not create temp directory: "
					+ temp.getAbsolutePath());
		}
		return (temp);
	}
}
